Repository navigation
docs: v6.7.0 catch-up - #95
seidroid[bot] wants to merge 43 commits into
Conversation
…trics for FlatKV state-commit, state-store, and receipt-store Pebble DBs, plus exposes FlatKV config fields in the server config template. (sei-protocol/sei-chain#3566)
…node's `mode` config field, adds a new `max_inbound_fullnode_peers` config field, moves the `autobahn-config-file` key to top-level in config.toml, and changes the `evmrpc` field in autobahn.json to be required on every validator. (sei-protocol/sei-chain#3525)
…er of calls allowed in an `eth_estimateGasAfterCalls` request, defaulting to 100. (sei-protocol/sei-chain#3631)
…, enabling runtime write-mode migration transitions without restarts, with important operator warnings about never using it on flatkv_only nodes. (sei-protocol/sei-chain#3581)
… cap concurrent logs subscriptions (default 1000), beyond which new logs subscriptions are rejected. (sei-protocol/sei-chain#3621)
…store configuration, adding a LittDB-based receipt store with a pebble tag index for eth_getLogs filtering. (sei-protocol/sei-chain#3620)
…st rate limiter and can reject requests with a 'server busy' error when the limit is exceeded. (sei-protocol/sei-chain#3646)
…lets operators disable the HashVault app-hash equivocation guard, and introduces HashVault recovery guidance for startup panics involving hash mismatches. (sei-protocol/sei-chain#3602)
…ilter-parallelism` (default 16) that bounds how many blocks a single eth_getLogs query scans concurrently in the littidx backend. (sei-protocol/sei-chain#3652)
…gured TraceTimeout and caps retained per-module state-access payload at 4 MiB (adding a 'truncated' field to the response), changing behavior to prevent OOM and unbounded traces. (sei-protocol/sei-chain#3653)
…max_concurrent_request_bytes) plus a new Prometheus metric to bound JSON-RPC request body sizes and concurrent request memory via pre-decode admission control. (sei-protocol/sei-chain#3648)
…with five new app.toml config fields (sc-hash-logger-*), enabled by default, for recording named block hashes for debugging/forensics. (sei-protocol/sei-chain#3647)
… with a durable gc-watermark file, adding six new config fields, changing the default GC period, and removing the CacheAwareGet API. (sei-protocol/sei-chain#3645)
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
…ble that selects the config manager for seid; unset/'legacy' uses the existing path, 'v2' is a not-yet-implemented stub that errors, and invalid values fail hard. (sei-protocol/sei-chain#3671)
…ze, max-open-connections, keepalive/connection-age settings) with bounded defaults applied even when absent from older config files. (sei-protocol/sei-chain#3641)
…sh-only, --read-limit-mb) for computing/verifying lattice hashes and throttling scan throughput, and --output-dir is no longer required when using --lthash-only. (sei-protocol/sei-chain#3665)
… on every emitted metric series, which affects dashboards and alerting queries for node operators. (sei-protocol/sei-chain#3692)
…sus-unsafe binary variant using a lenient tx decoder (no body-bloat rejection) for replaying historical blocks. (sei-protocol/sei-chain#3691)
…` that caps retained struct-logger output per traced transaction on default debug_trace* endpoints, defaulting to 32 MiB (0 = unlimited). (sei-protocol/sei-chain#3677)
…block` and `compare` subcommands for inspecting and diffing hash log archives produced by the hashlogger. (sei-protocol/sei-chain#3676)
…osmos_only" value from v6.4/v6.5 app.toml files, mapping it to the current "memiavl_only" routing for backward-compatible upgrades. (sei-protocol/sei-chain#3704)
…annelSize, AutoFlushByteThreshold, KeymapManagerMaxBatchBytes, MetricsServeEndpoint) and tightens the maximum value size to 2^32-1 bytes (~4 GiB), rejecting larger values that previously could span the boundary. (sei-protocol/sei-chain#3683)
…ies them to baseapp, enabling pruning configuration (e.g., --pruning) to actually take effect. (sei-protocol/sei-chain#3725)
…, max_state_override_slots) that cap the size of state overrides in eth_call, eth_estimateGas, eth_estimateGasAfterCalls, and debug_traceCall, with correct go-ethereum SetStorage overlay semantics. (sei-protocol/sei-chain#3722)
…d global label and new metrics subsystems were added; internal metrics APIs were refactored to use global registries (not user-facing). (sei-protocol/sei-chain#3682)
…ckend, a new --memiavl-open-mode flag (snapshot/replay), and new --flatkv-dir/--memiavl-dir flags for comparing EVM logical state across backends on a migrating node. (sei-protocol/sei-chain#3711)
… use on debug_trace* endpoints, restricting to a native allowlist and disabling request-supplied JavaScript tracers by default. (sei-protocol/sei-chain#3718)
…) that compresses values on disk, introduces a v4 segment metadata format, lowers the max value size to 2^32-2 bytes, and restricts secondary keys to full-value aliases on compressed tables. (sei-protocol/sei-chain#3769)
…100,000) that bounds the total KV index entries all in-flight tx_search/block_search requests may visit, returning an error when the process-wide budget is exceeded. (sei-protocol/sei-chain#3708)
…ed persistence to a LittDB-backed BlockDB, adding new config file fields and new CLI flags to the gen-autobahn-config command for tuning BlockDB retention and GC. (sei-protocol/sei-chain#3707)
…nt, mint, params, slashing, upgrade) and expands bank, distribution, and gov precompiles with many new read-only query methods, plus a new AssociatePubKey transaction on the addr precompile. (sei-protocol/sei-chain#3767)
…g (last 256 blocks) plus a process-local cache, making the BLOCKHASH opcode return correct historical block hashes for the previous 256 blocks. (sei-protocol/sei-chain#3811)
…g_no_block` behavior so `eth_getLogs` now errors (instead of silently truncating) when a bounded or open-ended query exceeds the matched-log count or estimated heap-byte budget. (sei-protocol/sei-chain#3759)
…a before decoding it, so calls that supply too little gas are rejected and gas costs for existing precompile calls have increased slightly. (sei-protocol/sei-chain#3737)
…tartup on bind failure), the metrics server gains read/write/idle timeouts, and the max-open-connections config field's behavior is clarified. (sei-protocol/sei-chain#3819)
…ic gas model, changing how gas is metered and charged for these on-chain precompile calls (notably p256 now uses a fixed 3450 gas verification cost per RIP-7212). (sei-protocol/sei-chain#3813)
…eys (including recursive validation of nested multisig keys with depth and signature-count limits) before deriving addresses or persisting them, rejecting malformed pubkeys and deeply nested multisigs. (sei-protocol/sei-chain#3791)
…lRewards) are now read-only and no longer mutate validator-period state as of v6.7.0, making them idempotent. (sei-protocol/sei-chain#3738)
…sei-config-backed manager that performs advisory config validation (logging warnings for invalid fields) while booting identically to legacy; previously v2 was an unimplemented stub that errored. (sei-protocol/sei-chain#3678)
…allowing a validator operator to unjail their validator via the EVM precompile at the slashing precompile address. (sei-protocol/sei-chain#3825)
…onfig (max_request_body_bytes, max_concurrent_request_bytes) and adds a new ws_admission_timeout config field, with the WS frame size default dropping from 10 MiB to 5 MiB requiring operator action. (sei-protocol/sei-chain#3818)
PR SummaryLow Risk Overview EVM developer surface: New reference pages for several Cosmos query precompiles (auth, authz, evidence, mint, params, slashing, upgrade, plus feegrant in the nav/table), with read-only query APIs documented for bank, governance, and distribution (including v6.7.0 idempotent reward queries). Gas and opcode behavior is documented: Node operators: Receipt store Reviewers should treat several additions as unverified against the release tag in the PR notes (e.g. feegrant precompile pages, conflicting P256 gas text, slashing “all view” note vs Reviewed by Cursor Bugbot for commit a41747d. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
This large automated v6.7.0 docs catch-up has several issues that block merging. It adds a Feegrant precompile page and nav entry for a precompile that isn't registered at the tag, and it documents a nonexistent sc-keys-to-migrate-per-block app.toml key. It also has an unmatched </Note> that can break MDX compilation, a pruning TOML sample under the wrong table, and misplaced evm-logical-digest flags. The PR's own "Failed final verification" section lists several of these and says they must be resolved before merging, and verification never finished for four pages.
Findings: 10 blocking | 9 non-blocking | 11 posted inline
Blockers
- The PR body's "Failed final verification against the release tag" section is unresolved. The Feegrant precompile, the slashing "all view" note and
sc-keys-to-migrate-per-blockcontradict the v6.7.0 tag, so this PR must not merge until those items are fixed. - Claim-by-claim verification never completed for
evm/reference.mdx,node/advanced-config-monitoring.mdx,node/technical-reference.mdxandnode/troubleshooting.mdx(verifier turn/time budget ran out). Someone needs to check these pages against the release by hand before merge. docs.jsonaddsevm/precompiles/feegrantto the navigation. Feegrant isn't registered at v6.7.0 (TestFeegrantPrecompileIsNotRegistered), so remove the nav entry along with the page.- 7 blocking issue(s) flagged inline on specific lines.
Non-blocking
- The Cursor review pass produced no output (
cursor-review.mdis empty).REVIEW_GUIDELINES.mdis also empty, so this review applied the AGENTS.md conventions instead. - Generated prose leaks internal source-PR references such as
(#3618),(#3818)and(#)into reader-facing copy:evm/reference.mdx:1173,node/advanced-config-monitoring.mdx:586,node/node-operators.mdx:818,evm/precompiles/distribution.mdx:265. Several of these also cite the wrong PR (#3618 is used for the pruning change, which came from #3725). Strip them. - The new precompile pages (auth, authz, evidence, mint, params, slashing, upgrade) are versioned at v6.6/v6.7. Add an availability or version note, and check that
@sei-js/precompilesexports the matching ABIs before any TS examples reference them. - The
eth_getLogschange from truncating to erroring may break clients. The benchmark innode/advanced-config-monitoring.mdxthat checkslogsCount === 10000should probably check for the new error instead. - The WebSocket frame-size default drops from 10 MiB to 5 MiB, which requires operator action. Make sure
websocket.mdxpresents this as an upgrade<Warning>, not plain prose. - 4 suggestion(s)/nit(s) flagged inline on specific lines.
Inline comments (could not post inline; listed here)
node/node-operators.mdx:831(RIGHT) -- [blocker] This</Note>has no matching opener because the previous<Note>already closes at line 812. Unbalanced JSX will fail MDX compilation. Either remove this tag or wrap the new "Cosmos SDK state pruning" section in its own<Note>. Also drop the(#3618)reference at line 818; it's an internal PR link and points at the wrong PR (the pruning change is #3725).evm/precompiles/feegrant.mdx:13(RIGHT) -- [blocker] No Feegrant precompile ships at v6.7.0.precompiles/setup.gohas no feegrant entry, andsetup_test.goexplicitly asserts that0x…1010is NOT registered.IFeegrant,allowance,allowancesandallowancesByGranterdon't exist either. Delete this page, remove it fromdocs.jsonnav, and don't publish it until the precompile actually ships (AGENTS.md: no speculation about unreleased features).evm/precompiles/example-usage.mdx:28(RIGHT) -- [blocker] Remove the Feegrant row. Nothing is registered at0x…1010in v6.7.0.node/giga-storage-migration.mdx:322(RIGHT) -- [blocker]sc-keys-to-migrate-per-blockisn't an app.toml key at the tag. The[state-commit]template renders onlysc-write-modeandsc-write-mode-enable-auto. The drain rate comes from the governance paramNumKeysToMigratePerBlock, which defaults to 0 and has no node-local fallback. Operators who copy the sample at line 332 would set a key that is never read. Rewrite this section to describe the governance param, or remove it.evm/precompiles/slashing.mdx:177(RIGHT) -- [blocker] This contradicts theunjail()section on the same page.unjail(plusgrantUnjail,unjailWithAuthzandrevokeUnjailperslashing.goIsTransaction) isnonpayableand changes state. TheISlashinginterface (lines 26-60) also leaves outunjail(), so anyone calling through that interface can't invoke it. Add it to the interface, and update this note and the intro on line 6, which says "read-only queries".node/technical-reference.mdx:505(RIGHT) -- [blocker] These pruning keys come after[state-store], so TOML parses them asstate-store.pruning, etc., not top-level settings. Movepruning,pruning-keep-recentandpruning-intervalabove the first table header, for example next tominimum-gas-prices.node/technical-reference.mdx:289(RIGHT) -- [blocker] This block lists theevm-logical-digestflags (--backend,--db-dir,--flatkv-dir,--memiavl-open-mode, …), but it sits in the newhashlog comparesection. It also repeats the "The command accepts these flags:" lead-in from line 279, so readers will take these as hashlog flags. Move lines 289-305 back under theevm-logical-digestsection (around line 180-200).evm/precompiles/p256-precompile.mdx:167(RIGHT) -- [suggestion] This line now says 3,450 gas, but "Performance considerations" (line 441) still says 48,000 gas per verification. Update line 441 to match.evm/evm-parity/evm-compatibility.mdx:55(RIGHT) -- [suggestion]/node/node-operators/rpc-configurationhas no page and no redirect indocs.json, so this link is broken. Point it at an existing page or anchor, such as the filter/subscription limits section inevm/reference.mdx. Runmint broken-linksto confirm.evm/precompiles/distribution.mdx:265(RIGHT) -- [suggestion] Two problems here. The(#)placeholder leaked into copy. The<Info>also sits between the### rewardsheading/description and the method signature, which interrupts the method docs. Remove(#)and move the callout below the signature block.evm/differences-with-ethereum.mdx:104(RIGHT) -- [nit] "Before this change" is changelog wording that won't make sense to readers later; say "Before v6.7.0" instead. The BeginBlock/ring/cache/staking-fallback details are implementation internals; consider trimming to the user-visible behavior (a 256-block window, zero outside it). Also remove the stray JSX comment at line 106.
| --read-limit-mb 0 --lthash=false | ||
|
|
||
| # Verify the FlatKV lattice hash only, without writing key/value dump files. | ||
| seidb dump-flatkv -d /.sei/data/state_commit/flatkv --lthash-only |
There was a problem hiding this comment.
Dump examples use root /.sei
Medium Severity
The new dump-flatkv samples pass -d /.sei/data/state_commit/flatkv, a filesystem-root path. Sei data and config live under $HOME/.sei/. The same command on the troubleshooting page already uses $HOME/.sei/data/state_commit/flatkv.
Reviewed by Cursor Bugbot for commit ec1651c. Configure here.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
There are 3 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a41747d. Configure here.
| # Number of recent heights to keep on disk. Used with pruning = "custom". | ||
| pruning-keep-recent = "0" | ||
| # How often (in blocks) to run a pruning pass. Used with pruning = "custom". | ||
| pruning-interval = "0" |
There was a problem hiding this comment.
Pruning sample uses wrong TOML section
Medium Severity
The new pruning, pruning-keep-recent, and pruning-interval keys are placed under [state-store] in the app.toml sample. Cosmos SDK pruning is a top-level app.toml setting, so a copied snippet is never read.
Triggered by learned rule: Sei config fields: config.toml vs app.toml placement
Reviewed by Cursor Bugbot for commit a41747d. Configure here.
|
|
||
| ## Precompile calldata decode cost | ||
|
|
||
| Sei's dynamic-gas precompiles (such as bank, wasmd, oracle, ibc, json, distribution, pointer, pointerview, addr, and p256) now charge gas for ABI-decoding a call's calldata *before* the arguments are decoded. The charge covers a length-proportional scan of the input plus the cost of copying any `string` payloads the decoder would materialize — a cost that can be significantly larger than the raw calldata length when a single string is referenced by many array or tuple slots. |
There was a problem hiding this comment.
Retired precompiles listed as active
Medium Severity
The new decode-cost section lists oracle and ibc among current dynamic-gas precompiles. Native Oracle is retired and IBC is disabled; docs must not present either as an active call path.
Triggered by learned rule: Native Oracle precompile retired — flag new usage docs
Reviewed by Cursor Bugbot for commit a41747d. Configure here.
There was a problem hiding this comment.
This automated v6.7.0 catch-up adds a lot of useful material, but it can't merge as is. It documents a Feegrant precompile that the PR's own release-tag check says doesn't exist, it adds an MDX tag with no matching opening tag, and several insertions break page structure (tables, flag lists) or contradict text elsewhere on the same page.
Findings: 9 blocking | 21 non-blocking | 19 posted inline
Blockers
- The PR description's own 'Failed final verification against the release tag' section lists contradictions that are still unresolved: the Feegrant precompile (0x...1010) is not registered at v6.7.0 (TestFeegrantPrecompileIsNotRegistered), and the Slashing page's 'all methods are view' note is false. The description says these must be resolved before merging.
- Verification never finished for evm/reference.mdx, node/advanced-config-monitoring.mdx, node/technical-reference.mdx, and node/troubleshooting.mdx (it ran out of turns or time). A human needs to check the new config keys, defaults, and error strings against v6.7.0 before publishing.
- evm/precompiles/governance.mdx: the intro (around line 9, outside the diff) still says the ABI is write-only and sends readers elsewhere for queries. That now contradicts the new 'Query functions' section. The source-PR notes call this the highest-priority correction.
- 6 blocking issue(s) flagged inline on specific lines.
Non-blocking
- evm/precompiles/p256-precompile.mdx: the 'Performance considerations' section (outside the diff, around line 441) still says 48,000 gas per verification. The updated 'Gas costs' section now says 3,450.
- node/giga-storage-migration.mdx: the existing sc-keys-to-migrate-per-block app.toml knob (unchanged context) was flagged by the release-tag check as nonexistent. The per-block rate is a governance param that defaults to 0. Consider fixing it in this catch-up.
- The hashlog and HashVault content is duplicated almost word for word across node/giga-storage-migration.mdx, node/technical-reference.mdx, and node/troubleshooting.mdx. Keep one canonical section and link to it from the others to avoid drift.
- evm/transactions.mdx gains a Cosmos ante-handler pubkey section. Cosmos-SDK content is deprecated (SIP-3) and new content should target EVM, so consider dropping it or adding a deprecation note.
- Several insertions leave stray runs of blank lines (two to four) before and after the added sections. Tidy them up.
- Run
mint broken-linksandnode scripts/check-redirects.mjs. At least one new link (/node/node-operators/rpc-configuration) appears to have no destination. - REVIEW_GUIDELINES.md was empty, so no repo-specific guidelines were applied beyond AGENTS.md.
- The Cursor second-opinion review (cursor-review.md) was empty, so that pass produced no output. Codex's findings are included above.
- 13 suggestion(s)/nit(s) flagged inline on specific lines.
Inline comments (could not post inline; listed here)
evm/precompiles/feegrant.mdx:13(RIGHT) -- [blocker] Per the PR's own release-tag verification, nothing is registered at 0x...1010 in v6.7.0. GetCustomPrecompiles has no feegrant entry, and setup_test.go asserts the address is NOT registered. There is also no IFeegrant ABI and no allowancesByGranter method. Remove this page, or hold it until the precompile actually ships.docs.json:205(RIGHT) -- [blocker] Remove the evm/precompiles/feegrant nav entry along with the page. That precompile isn't registered at v6.7.0.evm/precompiles/example-usage.mdx:28(RIGHT) -- [blocker] The Feegrant row lists a precompile that isn't registered at v6.7.0. Remove it.node/node-operators.mdx:1002(RIGHT) -- [blocker] This closing</Note>has no opening tag. The preceding Note already closes at line 983, so this breaks MDX compilation for the page. Remove it.evm/precompiles/slashing.mdx:177(RIGHT) -- [blocker] This is false.unjail()(documented above) is a nonpayable, state-mutating transaction. Per the release-tag check, grantUnjail, unjailWithAuthz, and revokeUnjail are transactions too. Reword the note, and update the intro on line 6, which also calls the page read-only.evm/precompiles/slashing.mdx:26(RIGHT) -- [suggestion] TheISlashinginterface leaves outunjail(), so callers can't use the documented method through this interface. Addfunction unjail() external returns (bool success);. Also consider documenting the other transaction methods that ship in the ABI (grantUnjail, unjailWithAuthz, revokeUnjail).node/technical-reference.mdx:291(RIGHT) -- [blocker] The dump-flatkv and hashlog sections were inserted between theevm-logical-digestintro and its flag list. The original 'The command accepts these flags:' at line 229 now introduces the dump-flatkv flags. This duplicated heading, under 'Inspecting hash log archives', now presents the evm-logical-digest flags (--backend composite, --memiavl-open-mode, and so on) as if they were hashlog flags. Move the evm-logical-digest flag list back under its own section, and put the new sections after it.evm/tracing/index.mdx:60(RIGHT) -- [suggestion] This<Note>(and the blank line before it) splits the methods table. Thedebug_traceTransactionProfilerow after it will render as plain pipe-delimited text. Move the note below the table.node/advanced-config-monitoring.mdx:763(RIGHT) -- [suggestion] Theselitt_compression_*rows come after a blank line, so they're cut off from the LittDB metrics table and have no header row. They'll render as plain text. Remove the blank line on line 762 so they join the table above.evm/evm-parity/evm-compatibility.mdx:55(RIGHT) -- [suggestion]/node/node-operators/rpc-configurationhas no page and no redirect in docs.json, so this link is broken. Link to the log-filter limits in/evm/referenceor to an existing node-config page instead.evm/evm-parity/evm-compatibility.mdx:55(RIGHT) -- [nit] This cell holds four sentences. Consider trimming it to a short summary that links to the limits section in evm/reference.mdx, which already explains the details.evm/precompiles/p256-precompile.mdx:166(RIGHT) -- [suggestion] This now says 3,450 gas, but 'Performance considerations' further down the page still says '48,000 gas per verification'. Update that section too. Also check that 'Up to 60x more efficient' still holds at the new price.node/node-operators.mdx:989(RIGHT) -- [nit] Stray(#3618)PR reference in reader-facing copy. It's also the wrong number: the pruning change is sei-chain#3725. Remove it.evm/reference.mdx:1173(RIGHT) -- [nit] Stray(#3618)PR reference. The tracer-gating change is #3718. Remove it from reader-facing copy.node/advanced-config-monitoring.mdx:586(RIGHT) -- [nit] Remove the internal(#3818)PR reference from the metric description.evm/precompiles/distribution.mdx:265(RIGHT) -- [nit] Leftover(#)placeholder in the callout title. Also, this Info block sits between therewardsdescription and its Solidity signature. Move it below the signature block.evm/tracing/troubleshooting.mdx:147(RIGHT) -- [suggestion] This tracer-allowlist subsection is inserted directly under '### 4. Network and connection issues'. That separates the heading from its existingconnection refusedcontent and files the tracer error under networking. Move it to its own numbered section.node/technical-reference.mdx:215(RIGHT) -- [nit] These examples use-d /.sei/data/...(a path at the filesystem root). Other examples use$HOME/.sei/data/...; use that here too.evm/transactions.mdx:295(RIGHT) -- [nit] This section covers Cosmos transaction ante handling, which is deprecated under SIP-3. Per AGENTS.md, new content should target EVM. Consider dropping it or adding an explicit deprecation note.


Documentation catch-up for v6.7.0.
41 source PR(s) produced changes across 41 commit(s). Each source PR is a separate commit, so this reviews commit-by-commit.
node/advanced-config-monitoring.mdxevm/reference.mdxmodeconfig field, adds a newmax_inbound_fullnode_peersconfig field, moves theautobahn-config-filekey to top-level in config.toml, and changes theevmrpcfield in autobahn.json to be required on every validator.evm/reference.mdxevm.max_estimate_gas_callslimits the number of calls allowed in aneth_estimateGasAfterCallsrequest, defaulting to 100.node/giga-storage-migration.mdxevm/reference.mdxevm.max_subscriptions_logsto cap concurrent logs subscriptions (default 1000), beyond which new logs subscriptions are rejected.node/giga-storage-migration.mdx,node/node-operators.mdxevm/reference.mdxnode/technical-reference.mdx,node/troubleshooting.mdxhash-vault-disabled-unsafethat lets operators disable the HashVault app-hash equivocation guard, and introduces HashVault recovery guidance for startup panics involving hash mismatches.node/advanced-config-monitoring.mdxreceipt-store.log-filter-parallelism(default 16) that bounds how many blocks a single eth_getLogs query scans concurrently in the littidx backend.evm/reference.mdx,evm/tracing/index.mdxnode/advanced-config-monitoring.mdxnode/advanced-config-monitoring.mdxnode/advanced-config-monitoring.mdxnode/technical-reference.mdxnode/technical-reference.mdxnode/technical-reference.mdx,node/troubleshooting.mdxnode/advanced-config-monitoring.mdxchain_idconstant label on every emitted metric series, which affects dashboards and alerting queries for node operators.node/technical-reference.mdxevm/tracing/index.mdxevm.max_trace_struct_log_bytesthat caps retained struct-logger output per traced transaction on default debug_trace* endpoints, defaulting to 32 MiB (0 = unlimited).node/giga-storage-migration.mdx,node/technical-reference.mdxhashlogcommand group to the seidb tool withget-blockandcomparesubcommands for inspecting and diffing hash log archives produced by the hashlogger.node/giga-storage-migration.mdxnode/advanced-config-monitoring.mdxnode/node-operators.mdx,node/technical-reference.mdxevm/reference.mdxnode/advanced-config-monitoring.mdxnode/technical-reference.mdx,node/troubleshooting.mdxevm/reference.mdx,evm/tracing/index.mdx,evm/tracing/javascript-tracers.mdx,evm/tracing/troubleshooting.mdxnode/advanced-config-monitoring.mdxnode/technical-reference.mdxmax-search-scan-budget(default 100,000) that bounds the total KV index entries all in-flight tx_search/block_search requests may visit, returning an error when the process-wide budget is exceeded.node/technical-reference.mdxdocs.json,evm/precompiles/auth.mdx,evm/precompiles/authz.mdx,evm/precompiles/cosmwasm-precompiles/addr.mdx,evm/precompiles/cosmwasm-precompiles/bank.mdx,evm/precompiles/evidence.mdx+7 moreevm/differences-with-ethereum.mdxevm/evm-parity/evm-compatibility.mdx,evm/reference.mdxmax_log_bytesEVM config field and changesmax_log_no_blockbehavior soeth_getLogsnow errors (instead of silently truncating) when a bounded or open-ended query exceeds the matched-log count or estimated heap-byte budget.evm/evm-parity/gas-and-fees.mdxnode/advanced-config-monitoring.mdx,node/node-operators.mdx,node/node-types.mdxevm/evm-parity/gas-and-fees.mdx,evm/precompiles/json.mdx,evm/precompiles/p256-precompile.mdxevm/transactions.mdxevm/precompiles/distribution.mdxnode/technical-reference.mdxevm/precompiles/example-usage.mdx,evm/precompiles/slashing.mdxevm/evm-parity/websocket.mdx,node/advanced-config-monitoring.mdx⛔ Failed final verification against the release tag
Each touched page was re-checked claim-by-claim against the
v6.7.0checkout after all commits were assembled. The items below contradict what actually ships at the tag and must be resolved before merging.evm/precompiles/example-usage.mdx(Available precompiles table, new 'Feegrant' row) — Feegrant is an available precompile at0x0000000000000000000000000000000000001010for querying fee allowancesevm/precompiles/feegrant.mdx(Address section / entire page) — The Feegrant precompile exists and is located at the fixed address 0x0000000000000000000000000000000000001010evm/precompiles/feegrant.mdx(Interface section) — Solidity interface IFeegrant with constants FEEGRANT_PRECOMPILE_ADDRESS / FEEGRANT_CONTRACT existsevm/precompiles/feegrant.mdx(Methods section) — Methods allowance(address,address), allowances(address,bytes), and allowancesByGranter(address,bytes) are exposed by the precompileevm/precompiles/feegrant.mdx(Interface / Methods / Notes sections) — Grant and AllowancesResponse structs, JSON-encoded allowance field, pagination via pageKey/nextKey, revert-on-value behaviourevm/precompiles/slashing.mdx(Final block at the bottom of the page) — All methods on the Slashing precompile are read-onlyviewqueries. Sending value to any of them reverts.unjail(line 201) with stateMutabilitynonpayable(line 209), and other nonpayable entries at lines 23, 82, 228. The page's ownunjailsection even states it 'is a state-mutating transaction'. Thus the claim that ALL methods are read-onlyviewqueries is false.evm/reference.mdx— verification could not complete: verifier exceeded 30 tool turnsnode/advanced-config-monitoring.mdx— verification could not complete: verifier exceeded 30 tool turnsnode/giga-storage-migration.mdx(### Operator-facing knobs — thesc-keys-to-migrate-per-blockparagraph and itstomlsample ([state-commit]/ sc-write-mode = "migrate_evm" / sc-keys-to-migrate-per-block = 1024)) —sc-keys-to-migrate-per-blockis anapp.toml[state-commit]config key that controls the per-block migration drain rate, with a default of1024and a constraint that the value must be> 0; shown in a TOML sample assc-keys-to-migrate-per-block = 1024.sc-keys-to-migrate-per-block,keys-to-migrate, andmigrate-per-blockall return no matches, and the[state-commit]template in sei-db/config/toml.go (lines 9–95) renders onlysc-write-modeandsc-write-mode-enable-auto, not this key. The drain rate is a governance parameter, not an app.toml knob: app/abci.go:64-93 readsmigration.NumKeysToMigratePerBlockfrom chain state (applyMigrationBatchSize), and app/migration/params.go:34-37 setsDefaultNumKeysToMigratePerBlock uint64 = 0(not 1024), with the comment that this gov param 'is the sole source of the per-block rate' and 'there is no node-local fallback'. An operator copying the sample sets a key that is never read.node/technical-reference.mdx— verification could not complete: not verified — run time budget exhausted mid-checknode/troubleshooting.mdx— verification could not complete: not verified — run time budget exhausted mid-checkReviewer notes
logsCount === 10000as a limit sentinel — reviewers may want to confirm whether that example should be updated to detect the new error response, but it is illustrative rather than authoritative. No migration step is required; defaults preserve prior count behavior (10000) and add a 64 MiB byte cap.rewards()view query, which is documented in evm/precompiles/distribution.mdx. The gRPC/legacy querier endpoints (DelegationRewards/DelegationTotalRewards) are not covered by a dedicated sei-docs page, so no other page needs updating. The old mutating behavior is preserved only for re-tracing pre-v6.7 blocks via debug_trace*, which could optionally be mentioned in evm/tracing/index.mdx, but this is an edge-case replay detail and likely not worth adding there. No migration step is required.Flagged by a review of every touched page's final text. Each source PR was analysed in isolation, so these were invisible to the per-PR checks. Verify before merging — the checker cannot tell which side of a contradiction is correct.
evm/evm-parity/evm-compatibility.mdx, the insertedeth_getLogsnote links to/node/node-operators/rpc-configuration;evm/evm-parity/gas-and-fees.mdxlinks to a non-existentrpc-configurationpage too — but more concretely, theeth_getLogsnote referencesmax_log_bytes/max_log_no_blockwhich matchesevm/reference.mdx, so no contradiction there. (Not a reportable category.)evm/precompiles/p256-precompile.mdx: the updated "Gas costs" section says the verification cost is a fixedP256VerifyGas = 3450gas, but the untouched "Performance considerations" section still states "Gas efficiency: 48,000 gas per verification". These describe the same cost two different ways on the same page.evm/reference.mdx(untouched "Filter and subscription limits") andevm/evm-parity/evm-compatibility.mdxboth usemax_log_no_block(default 10000), consistent. But the gas-and-fees SSTORE value stays 72,000 across pages — consistent. (No issue.)eth_getLogsbyte-limit identifier: the inserted compatibility-matrix note andevm/reference.mdxboth namemax_log_bytes— consistent. (No issue.)evm/precompiles/distribution.mdx: the inserted "Read-only as of v6.7.0"<Info>block sits between the### rewardsheading (and its sentence "Returns the reward information for a delegator across all validators.") and the method's Solidity signature code block, interrupting the heading's own content.Generated by sei-docs-bridge. Every change is a proposal — verify against the source PRs before merging.